查看原文
其他

如何评估大二计算机学生的认知能力?

王咏刚 半轻人 2022-09-08

看到团队最近做的一个技术实习生面试实例,很有意思。


面试官是我们创新工场南京研究院的冯霁博士。来面试的是一个刚读完大二上学期计算机课程的学生。冯霁的面试题挺简单的:


梯度下降已经二百年了,为什么上世纪80年代的反向传播算法会被认为是人工智能技术发展的里程碑?前人难道不知道梯度下降?与硬做梯度下降相比,1986年提出的反向传播算法多了些什么?


这本是一个AI算法面试的热身题。熟悉深度学习基础知识的随口就可说出标准答案。没想到小伙子虽来自计算机专业,却还没来得及系统学习机器学习、深度学习知识。如果就此结束面试,给小伙子一封拒信,似乎也说得过去。但冯霁换了个处理方法:给小伙子一晚上时间去调研并写出报告。


小伙子连夜查资料、做调研,知道反向传播是通过动态规划来做梯度下降,复杂度由此降低到了线性。第二天,他给出了一份四页纸的报告。报告的逻辑很清晰,从问题描述,到扼要回答,再到具体算法梳理,时间复杂度推理,最后还附上了历史资料及其他类似目的的优化算法简述。

其实,用一晚上时间做出调研并给出答案不算啥难事,任何一所大学计算机专业的本科学生都应具备这项基本素质。但这位同学所写的报告不仅给出了答案,还展示了很不错的信息梳理和表达能力——通过网络查询到的知识,被他组织成了自己的语言和逻辑,废话不多,条理清晰,其中的手绘示意图和手写公式、注释也挺见功力。

大一大二学生,都是计算机科学领域的新手,正在入门和构建知识体系的阶段。我们很难通过一大批知识性问题来简单评估他们的能力水平。换句话说,这个阶段的孩子,最重要的不是学过和记住什么样的知识,而是是否掌握了快速学习知识并构建适合于自己的认知框架,以便将知识梳理成有序脉络的技能。

冯霁面试的本就是个知识性问题,但候选人答不出时,冯霁转而考察候选人快速学习知识、有序梳理知识、清晰表达知识的能力——这是面试官应该做的事情。


我自己在很多年前也大量带实习生。那时,有一批来自北大清华等名校的大一大二实习生,他们从能力特质上可明显分成两类:

  • 不会学习也不会梳理知识的;

  • 既会学习又会梳理知识的。


头一类实习生看上去什么都会一点儿,但明显缺少系统化的学习方法和适合自己的认知框架。比如,有位大二的实习生写代码很快,做一个复杂的数据流逻辑时,东看看Stack Overflow,西看看Code Search,不一会儿就把七八个数据处理环节写好,拼装成完整的数据工作流。但他做出来的数据处理流程效率太低,既耗时又耗资源。我当时建议他系统学习一下分布式数据处理的基础知识与成熟的理论技巧,然后从整体角度思考下有没有根本性的优化方法,而不是每个环节各自为战,相互掣肘。可惜那个实习生缺少耐心,每次都是翻翻相关网页,就回头改写代码,一直游离在合理的解决问题思路之外。


第二类实习生无论当前掌握的知识多少,他们都有能力在短时间内进入到一个新的领域,建立起适合自己的知识脉络。比如,我曾经带着一位大二的实习生写Wikitext(就是Wikipedia内容写作时使用的标记语言)的语义分析器和宏扩展器。那位实习生从没接触过标记语言的解析算法,也没深入学习过编译原理之类的系统知识,一开始仿照现成的代码做工作,总是不得其法,欲速而不达。没多久,他就悟出磨刀不误砍柴工的道理,先暂停编程,花了四五天的工夫去系统学习标记语言解析相关的技术,做了好几个练习用的小程序。我记得,他也像冯霁面试的实习生候选人那样,整理出了一份有逻辑,表达清晰,层次分明的学习笔记。后续的工作,他做起来就既快又好了。他甚至还根据自己的学习笔记提出了一项不错的算法改进建议并付诸实践。


如果有两个软件研发团队,前一个团队经验丰富,但学习知识和梳理知识的能力不足,后一个团队初出茅庐,但学习知识和梳理知识的能力较强,那我是更愿意带后一个团队的。要做最前沿、最有挑战、最容易形成技术壁垒的事情,单靠死记硬背的知识以及熬时间熬出来的经验是没太大用处的。


顺便说一下:提这个案例并不是想说明冯霁面试的那个小伙子的能力水平究竟如何。冯霁的题目很基础,难以完整考察一个人的真正实力。其实,那位候选人来自世界最顶尖的名校——这一方面说明头部计算机专业并不会在大一大二就把深度学习之类的热门知识“灌”进学生脑子里,另一方面也说明候选人自身的聪明程度和综合素质绝对不差,冯霁可以在这个预设条件的基础上判断自己是否要聘用他。


最后,回想起我们家九岁的小朋友,目前在学习时就大致处在泛泛而学,感兴趣的领域就博闻强记(不感兴趣的领域连起码的记忆也不肯),但几乎不具备任何知识梳理能力的阶段。小孩子当然和大一大二的学生之间没有可比性,但换个角度,是不是可以设计一些小游戏、小实验,让他们在玩的过程里积累些信息梳理、知识梳理的初步经验呢?比如:


小朋友的调研小游戏:从数据到洞察


有空时,我得多琢磨琢磨。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存